//package com.yboot.starter.common.core.utils;
//
//import org.apache.poi.ss.usermodel.Cell;
//import org.apache.poi.ss.usermodel.CellType;
//import org.apache.poi.ss.usermodel.Row;
//import org.apache.poi.ss.usermodel.Sheet;
//
//import java.io.*;
//import java.nio.charset.StandardCharsets;
//import java.util.Map;
//
//public class AdaptiveWidthUtils {
//
//    // 1个汉字2字符长度， 2048=3汉字+2左右留白
//    private static int MIN_LENGTH = 2048;
//    private static int MAX_LENGTH = 10600;
//
//    /**
//     * 自适应宽度(中文支持)
//     *
//     * @param sheet sheet
//     * @param size  因为for循环从0开始，size值为 列数-1
//     */
//    public static void setSizeColumn(Sheet sheet, int size) {
//        for (int columnNum = 0; columnNum <= size; columnNum++) {
//            int columnWidth = sheet.getColumnWidth(columnNum) / 256;
//            for (int rowNum = 0; rowNum <= sheet.getLastRowNum(); rowNum++) {
//                Row currentRow;
//                // 当前行未被使用过
//                if (sheet.getRow(rowNum) == null) {
//                    currentRow = sheet.createRow(rowNum);
//                } else {
//                    currentRow = sheet.getRow(rowNum);
//                }
//                if (currentRow.getCell(columnNum) != null) {
//                    Cell currentCell = currentRow.getCell(columnNum);
//                    if (currentCell.getCellType() == CellType.STRING) {
//                        int length = currentCell.getStringCellValue().getBytes(StandardCharsets.UTF_8).length;
//                        columnWidth = Math.max(columnWidth, length);
//                    }
//                }
//            }
//            columnWidth = columnWidth * 256;
//            if (Math.max(MIN_LENGTH, columnWidth) == MIN_LENGTH) {
//                sheet.setColumnWidth(columnNum, MIN_LENGTH);
//            } else if (Math.max(MAX_LENGTH, columnWidth) == columnWidth) {
//                sheet.setColumnWidth(columnNum, MAX_LENGTH);
//            }
//        }
//    }
//
//    /**
//     * 自适应列宽
//     *
//     * @param sheet
//     * @param headerAlias
//     */
//    public static void adjustColumnWidth(Sheet sheet, Map<String, String> headerAlias) {
//        AdaptiveWidthUtils.setSizeColumn(sheet, headerAlias.keySet().size() - 1);
//    }
//
//    public static void main(String[] args) {
//        // 指定文本文件路径
//        String filePath = "C:\\Users\\liks\\Desktop\\ac.txt";
//
//        try {
//            // 读取文件
//            File file = new File(filePath);
//            BufferedReader reader = new BufferedReader(new FileReader(file));
//            StringBuilder stringBuilder = new StringBuilder();
//            String line;
//            while ((line = reader.readLine()) != null) {
//                // 检查行中是否有两个以上的 "----"
//                int index = line.indexOf("----");
//                if (index != -1) {
//                    index = line.indexOf("----", index + 4); // 从第一个 "----" 后继续寻找第二个
//                    if (index != -1) {
//                        line = line.substring(0, index); // 删除第二个 "----" 后面的内容
//                    }
//                }
//                stringBuilder.append(line).append("\n");
//            }
//            reader.close();
//
//            // 写入修改后的内容
//            BufferedWriter writer = new BufferedWriter(new FileWriter(file));
//            writer.write(stringBuilder.toString());
//            writer.close();
//
//            System.out.println("文件处理完成。");
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
////        String filename = "C:\\Users\\liks\\Desktop\\库存.txt";
////        try {
////            FileReader fileReader = new FileReader(filename);
////            BufferedReader bufferedReader = new BufferedReader(fileReader);
////            String line;
////            Map<String, Integer> nameCounts = new HashMap<>();
////
////            while ((line = bufferedReader.readLine()) != null) {
////                // 判断行中是否存在"----"
////                int index = line.indexOf("----");
////                if (index != -1) {
////                    // 获取名称部分
////                    String name = line.substring(0, index).trim();
////                    // 更新名称计数
////                    nameCounts.put(name, nameCounts.getOrDefault(name, 0) + 1);
////                }
////            }
////
////            bufferedReader.close();
////            fileReader.close();
////
////            // 输出分类汇总结果
////            for (Map.Entry<String, Integer> entry : nameCounts.entrySet()) {
////                System.out.println(entry.getKey() + ": " + entry.getValue());
////            }
////
////        } catch (IOException e) {
////            e.printStackTrace();
////        }
//
//    }
//}
